27 research outputs found

    Evolution of developer collaboration on the Jazz platform: A study of a large scale agile project

    Get PDF
    Collaboration is a key aspect of the agile philosophy of software development. As a software system matures over iterations, trends of developer collaboration can offer valuable insights into project dynamics. In this paper, we study evolution of developer collaboration for a large scale agile project on the Jazz platform. We construct networks of collaboration based on developer affiliations across comments on work items and file changes; and then compare parameters of such networks with established results from networks of scientific collaborations. The comparisons illuminate interesting facets of developer collaboration on the Jazz platform. Such perception helps deeper understanding of the role of interaction in agile projects, as well as more effective project governance.</p

    Coping with distance: An empirical study of communication on the Jazz platform

    Get PDF
    Global software development - which is characterized by teams separated by physical distance and/or time-zone differences - has traditionally posed significant communication challenges. Often these have caused delays in completing tasks, or created misalignment across sites leading to re-work. In recent years, however, a new breed of development environments with rich collaboration features have emerged to facilitate cross-site work in distributed projects. In this paper we revisit the question "does distance matter?" in the context of IBM Jazz Platform - a state-of-the-art collaborative development environment. We study the ecosystem of a large distributed team of around 300 members across 35 physical locations, which uses the Jazz platform for agile development. Our results indicate that while there is a delay in communication due to geographic separation, teams try to reduce the impact of delays by having a large percentage of work distributed within same/few time zones and working beyond regular office hours to interact with distributed teams. We observe different communication patterns depending on the roles of the team members, with component leads and project managers having a significantly higher overhead than development team members. We discuss the practical implications of our findings in terms of some best practices that can help lessen the impact of distance.</p

    Talk versus work: Characteristics of developer collaboration on the Jazz platform

    Get PDF
    IBM's Jazz initiative offers a state-of-the-art collaborative development environment (CDE) facilitating developer interactions around interdependent units of work. In this paper, we analyze development data across two versions of a major IBM product developed on the Jazz platform, covering in total 19 months of development activity, including 17,000+ work items and 61,000+ comments made by more than 190 developers in 35 locations. By examining the relation between developer talk and work, we find evidence that developers maintain a reasonably high level of connectivity with peer developers with whom they share work dependencies, but the span of a developer's communication goes much beyond the known dependencies of his/her work items. Using multiple linear regression models, we find that the number of defects owned by a developer is impacted by the number of other developers (s)he is connected through talk, his/her interpersonal influence in the network of work dependencies, the number of work items (s)he comments on, and the number work items (s)he owns. These effects are maintained even after controlling for workload, role, work dependency, and connection related factors. We discuss the implications of our results for collaborative software development and project governance.</p

    An extensible framework for tracing model evolution in SOA solution design

    No full text
    Existing tools for model-driven development support automated change management across predefined models with precisely known dependencies. These tools cannot be easily applied to scenarios where we have a diverse set of models and relationships, and where human judgment and impact analysis are critical to introducing and managing changes. Such scenarios arise in model-based development of service oriented architectures (SOA), where a plethora of high-level models representing different aspects of the business (requirements, processes, data) need to be translated into service models, and changes across these models need to be carefully analyzed and propagated. To support the process of model evolution, we present an extensible framework that can automatically identify possible changes in any MOF-compliant model. Changes across different model types can be easily related through a user interface and via rules that are programmed at specified plug-in points. At runtime, when an instance of a model is changed, the framework performs fine-grained analysis to identify impacted models and elements therein. It also allows analysts to selectively apply or reject changes based on the specific context and summarizes the incremental impact on downstream elements as choices are made. We share our experience in using our framework during the design of a SOA-based system that underwent several changes in business models, necessitating changes in the associated service design.</p
    corecore